การพัฒนาเคอร์เนล CUDA เริ่มต้นจากการกำหนด เคอร์เนลซึ่งเป็นฟังก์ชันเฉพาะทางภาษา C++ ที่ถูกออกแบบให้ทำงานแบบขนานไปพร้อมกันบนคอร์จำนวนมากของ GPU NVIDIAฟังก์ชันเหล่านี้แสดงหน่วยงานพื้นฐานของการทำงานในโมเดลการเขียนโปรแกรม CUDA โดยทำหน้าที่เป็นสะพานเชื่อมระหว่างตรรกะของโฮสต์แบบลำดับกับการประมวลผลแบบขนานขนาดใหญ่บนอุปกรณ์
1. ตัวระบุ __global__
ตัวระบุ __global__ เป็นตัวระบุที่จำเป็นสำหรับ API ซึ่งบอกให้คอมไพเลอร์สร้างโค้ดสำหรับ GPU แต่ยังคงจุดเริ่มต้นของฟังก์ชันให้เห็นได้จากโปรเซสเซอร์ (CPU) ฟังก์ชันที่ทำงานบน GPU ซึ่งสามารถเรียกใช้จากโฮสต์ได้จะเรียกว่า เคอร์เนล
2. สภาพแวดล้อมการทำงาน
เคอร์เนลจะถูกส่งไปยังและดำเนินการบน หน่วยประมวลผลแบบสตรีมมิ่ง (SMs)SM เป็นเครื่องประมวลผลหลักภายใน GPU NVIDIA ที่รับผิดชอบในการจัดการหลายร้อยเธรดพร้อมกัน แต่ละหน่วยจัดการบล็อกของเธรดและจัดตารางให้ไปยังคอร์ประมวลผล
กฎไวยากรณ์: เคอร์เนลต้องกลับคืนค่าเป็น voidเนื่องจากทำงานแบบไม่ต้องรอ (asynchronously) จากโฮสต์ จึงไม่สามารถส่งค่ากลับไปยังโปรเซสเซอร์โดยตรงได้ ต้องเขียนผลลัพธ์กลับไปยังหน่วยความจำอุปกรณ์ที่จัดสรรไว้แทน